using System.Collections.Generic;

/// <summary>
/// 数据仓库接口 - 数据访问层抽象
/// </summary>
/// <typeparam name="T">数据类型</typeparam>
public interface IDataRepository<T> where T : class
{
    /// <summary>
    /// 根据ID获取数据
    /// </summary>
    T GetById(int id);
    
    /// <summary>
    /// 获取所有数据
    /// </summary>
    List<T> GetAll();
    
    /// <summary>
    /// 添加数据
    /// </summary>
    void Add(T item);
    
    /// <summary>
    /// 更新数据
    /// </summary>
    void Update(T item);
    
    /// <summary>
    /// 删除数据
    /// </summary>
    void Remove(int id);
    
    /// <summary>
    /// 检查数据是否存在
    /// </summary>
    bool Exists(int id);
}
